#ifndef __CONTENT_NODE_H__
#define __CONTENT_NODE_H__
#include "public.h"

// =================用于网络层跟业务层的解耦==================


typedef struct node
{
    struct node *next;
    struct node *prev;
    int length;
    char data[]; // 柔性数组，存放数据
                 // 注意不能定义为 char* data，否则malloc分配内存时就只能是sizeof(node)了，无法动态分配data的空间
} content_node;

typedef content_node node;


int list_init(node* list);
int clear_list(node *list);
int insert_list(char *buffer, int len, node *list);
int delete_node(node* n, node *list);
int list_empty(node* list);
int print_list(node *list);


#endif